#ifndef _AT_AGE_PANEL_H
#define _AT_AGE_PANEL_H

#ifndef NUM_SIGFIGS
  #define NUM_SIGFIGS 1
#endif
#ifndef AT_AGE_DEFAULT_PERC_STRING
  #define AT_AGE_DEFAULT_PERC_STRING "%"
#endif

#ifndef AT_AGE_DEFAULT_LOW_PERC
  #define AT_AGE_DEFAULT_LOW_PERC 50
#endif

#ifndef AT_AGE_DEFAULT_HIGH_PERC
  #define AT_AGE_DEFAULT_HIGH_PERC 95
#endif

#include "wx/wxprec.h"
#ifndef WX_PRECOMP
  #include "wx/wx.h"
#endif

#include "PreprocessorDefines.h"

// Derived classes create a panel with surrounding static box,
//   2-row, 3-column panel in the following format:
//  ______________________________________________________
// |     '%'        | m_pTextCtrlPerc0 | m_pTextCtrlPerc1 |
// | m_pPanelLabel  | m_pTextCtrlVal0  | m_pTextCtrlVal1  |
// | _______________|__________________|__________________|

class AtAgePanel : public wxPanel
{
  public:
    AtAgePanel(wxWindow* parent,
               wxString  panelLabel,
               int    lowPerc,
               int    highPerc,
               int    lowVal,
               int    highVal);
    ~AtAgePanel();
    DECLARE_EVENT_TABLE()
    //virtual int getLowVal() = 0;  // setting to 0 makes it an abstract base class
    //virtual int getHighVal() = 0;
  private:
    wxBoxSizer       *m_pVertBoxSizer;
    wxBoxSizer       *m_pHorizBoxSizer0;
    wxBoxSizer       *m_pHorizBoxSizer1;
    wxStaticText     *m_pNullLabel;
    wxStaticText     *m_pPanelLabel;
    wxStaticText     *m_pLabelPerc0; // should be '%' or 'Proportion'
    wxStaticText     *m_pLabelPerc1; // should be '%' or 'Proportion'

    wxTextCtrl       *m_pTextCtrlPerc0;
    wxTextCtrl       *m_pTextCtrlPerc1;
    wxTextCtrl       *m_pTextCtrlVal0;
    wxTextCtrl       *m_pTextCtrlVal1;
    wxStaticBoxSizer *m_pStaticBoxSizer;
    wxStaticBox      *m_pStaticBox;

    int               m_pLowVal;
    int               m_pHighVal;

    int               m_pLowPerc;
    int               m_pHighPerc;
};

#endif // _AT_AGE_PANEL_H
